Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Побудова інфрачервоних детекторів руху на AVR-мікроконтролерах

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт
Предмет:
Захист інформації
Група:
ІБ – 44

Частина тексту файла

Міністерство освіти і науки Україниіі Національний університет „Львівська політехніка” Кафедра «Захисту інформації» Звіт До лабораторної роботи №3 На тему: «Побудова інфрачервоних детекторів руху на AVR-мікроконтролерах» Львів-2010 Мета роботи – ознайомитись з принципами побудови охоронних систем з GSM-сигналізацією і їх програмно-апаратною реалізацією на AVRмікроконтролерах. Отримати навики написання програм для AVR-мікроконтролерів на мові С в середовищі CodeVisionAVR Завдання: Створити проект в CodeVisionAVR, ввести свою програму, провести її компіляцію. Відкрити файл LR_4.dsn в програмі Proteus, внести у схему відповідно до свого індивідуального завдання, підключити до МК отриманий в CodeVisionAVR hex-файл. Запустити режим симуляції схеми та перевірити правильність функціонування GSM-сигналізації у всіх режимах роботи: постановка і зняття з охорони, спрацювання охоронних давачів. № Тактова частота МК, МГц Тз1, с F1, Гц Тз2, с F2, Гц Тип шлейфу 1 Тип шлейфу 2 Вивід для підкл шлейфу 1 Вивід для підкл шлейфу 2 Вивід МК для підкл світлодіода Вивід МК для підкл кнопки  2 4 40 2 40 9 НЗ НР PВ1 PB3 PD3 PD2   Текст програми у CodeVisionAVR: Текст програми GSM.c #include <GSM.h> interrupt [7] void Timer0_Ovf(void) { unsigned char temp; // Прочитати стан секретної кнопки temp = SW_PIN; temp = temp & (1<<SW); if (State == State_Off) // Якщо охорона виключена { if (temp == 0) State = State_On; // Якщо кнопка натиснута - включити охорону } else if(State == State_On) // Якщо охорона включена { if (temp != 0) State = State_Off; // Якщо кнопка ненатиснута - виключити охорону } }; ////////////////////////////////////////////////////////////////// interrupt [5] void Timer1_COMP(void) { unsigned char temp; temp = PORTB ^ 0b00001000; PORTB = temp; }; void Pin_Init(void); void SMS_Send(char* cmd, unsigned char type); void Schleif_Test(unsigned char s1, unsigned char * status, unsigned char number); enum SMS_Type{Security_On, Security_Off, Alarm_Schleif_1, Alarm_Schleif_2}; ////////////////////////////////////////////////////////////////// void main(void) { unsigned char k, m, temp; // Номер індексу першої комірки телефонної книги SIM-карти unsigned char s1, s2, s3; // Масив для відправки АТ-команд unsigned char CMD[25] = {0}; // Масив для прийому відповідей від GSM-модему unsigned char My[30] = {0}; // Час постановки на охорону unsigned char T_1; // Час зняття з охорони unsigned char T_2; // Конфігурація шлейфу 1: 0 - викл., 1 - нормально розімкнений, 2 - нормально замкнутий unsigned char S_1; // Конфігурація шлейфу 2: 0 - викл., 1 - нормально розімкнений, 2 - нормально замкнутий unsigned char S_2; // Налаштування виводів МК Pin_Init(); // Налаштування швидкості передачі 9600 Бод UBRR = xtal/16/Baud_Rate-1; // Дозволити прийом і передачу даних: 8 біт, 1 стоповий, 1 стартовий. UCR = (1<<RXEN) + (1<<TXEN); // Затримка 4 секунди для переходу модему в робочий режим delay_ms(4000); // Послати команду АТЕ0 - відключення еха CMD[0] = 'A'; CMD[1] = 'T'; CMD[2] = 'E', CMD[3] = '0'; CMD[4] = CR; // Відіслати команду puts(CMD); // Прийом відповіді k = 0; while(1) { m = getchar(); // Отримати символ if(m == LF) // Це символ нового рядку? k++; if(k == 2) // Якщо отримано два LF - прийом відповіді завершено break; }; // Послати команду АТ+CPBS="SM" - вибір телефонної книги CMD[0] = 'A'; CMD[1] = 'T'; CMD[2] = '+'; CMD[3] = 'C'; CMD[4] = 'P'; CMD[5] = 'B'; CMD[6] = 'S'; CMD[7] = '='; CMD[8] = '"'; CMD[9] = 'S'; CMD[10] = 'M'; CMD[11] = '"'; CMD[12] = CR; // Відіслати команду puts(CMD); // Прийом відповіді k = 0; while(1) { m = get...
Антиботан аватар за замовчуванням

04.01.2012 00:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини